A portion of the disclosure of this patent document contains material that is subject to copyright protection. The copyright owner has no objection to the facsimile reproduction by anyone of the patent document or the patent disclosure, as it appears in the Patent and Trademark Office patent file or records, but otherwise reserves all copyright rights.
This application relates to processing and uploading of image files.
A computer system 100 illustrated in FIG. 1 represents a typical hardware setup for executing software that allows a user to perform tasks such as communicating with other computer users, accessing various computer resources, and viewing, creating, or otherwise manipulating electronic contentxe2x80x94xe2x80x94that is, any combination of text, images, movies, music or other sounds, animations, 3D virtual worlds, and links to other objects. The system includes various input/output (I/O) devices (mouse 103, keyboard 105, display 107) and a general purpose computer 100 having a central processor unit (CPU) 121, an I/O unit 117 and a memory 109 that stores data and various programs such as an operating system 111, and one or more application programs 113. The computer system 100 also typically includes non-volatile memory 110 (e.g., flash RAM, a hard disk drive, and/or a floppy disk or other removable storage media) and a communications card or device 123 (e.g., a modem or network adapter) for exchanging data with a network 127 via a communications link 125 (e.g., a telephone line).
The computer 100 of FIG. 1 also can be connected to various peripheral I/O devices. One of the more popular of such peripheral devices is a digital camera 108 that enables users to take pictures and save them in digital (electronic) format. The digital camera 108 enables users to take pictures (i.e., images), which are saved in memory (not shown) within the digital camera 108 in a digital (electronic) format. After taking and storing the images, the user can connect the digital camera 108 to a computer system 100 in order to upload the digital images to the computer""s disk drive or other non-volatile memory 110. Once the digital images are uploaded to the computer system 100, the user can erase the digital images from the memory of the digital camera 108 so that the user can take and store additional images using the digital camera 108. Typically, the digital camera 108 is connected to the computer 100 only while the user is uploading images to the computer""s disk drive or other non-volatile memory 110.
Users also can obtain digital images, for example, of film-based prints from a traditional camera, by sending an exposed film into a photo-finishing service, which develops the film to make prints and then scans (or otherwise digitizes) the prints or negatives to generate digital image files. The digital image files then can be transmitted back to the user by e-mail or on a CD-ROM, diskette, or other removable storage medium.
In any event, once the digital images are stored on the computer 100, a user can perform various operations on them. For example, an image viewer application can be used to view the images or a photo editor application can be used to touch-up or otherwise modify the images. In addition, an electronic messaging (e.g., e-mail) application can be used to transmit the digital images to other users.
In addition to viewing the digital images on the computer display 107, users often desire to have hard copies (physical prints) made of digital images. Such hard copies can be generated locally by the user using output devices such an inkjet printer or a dye sublimation printer. In addition, users can transmit digital images (e.g., either over a computer network or by using a physical storage medium such as a floppy disk) to a photo-finishing service, which can make hard copies of the digital images and send them (e.g., by U.S. Mail or courier service) back to the user.
FIGS. 2A-2F show a sequence of screen shots that a user might encounter when transmitting digital images to a photo-finishing service to have hard copies (prints) made of the images. In FIG. 2A, the user first encounters a contact information window 200 in which the user must enter several items of contact information such as first and last names 202, 204, address 206, city 208, state 210, country 210, phone 214, fax 216, and Email address 218. This information typically is required by the photo-finishing service for each order for purposes of billing and shipping.
After the user has entered the required information, the user presses the Next button 220 to arrive at the next screenxe2x80x94an image selection window 222 as shown in FIGS. 2B and 2C. In the image selection window 222, the user designates the specific images of which hard copies are to be made. The digital images either can be selected from among the images stored on the user""s computer by clicking the xe2x80x9cSelect Image . . . xe2x80x9d button 230 or they can be acquired from a digital camera or scanner attached to the user""s computer by clicking the xe2x80x9cAcquire Image . . . xe2x80x9d button 232. Once selected, the images can be viewed and/or cropped by clicking on the xe2x80x9cView/Cropxe2x80x9d button 234. In addition, the user can designate the hard copy format and other parameters (e.g., size, number of copies, paper type) for each of the selected images by selecting or entering the desired options using drop-down list 224 and text box 226. The selected images and their associated parameters are shown in display area 228. Typically, each order for prints must meet a minimum order amount 223 (e.g., five dollars).
After the images and their respective hard copy parameters have been selected, the user clicks the Next button 236 and a shipping and payment information window 238 is presented. In this window 238, the user selects a desired shipping method from drop-down list 240 and specifies a method of payment and associated verification information in text boxes 242, 244, 246 and 248.
After this information has been provided, the user clicks the Next button 250 and is presented with an order confirmation window as shown in FIG. 2E. The order verification window 250 allows the user to view and confirm the order including the images selected and their respective parameters in display area 252, as well as the price of the order 254. If the user is satisfied with the order, the user clicks the Finish button 256 to complete the order.
Upon completing the order, the images are uploaded to the photo-finishing service as indicated by the upload window 258 in FIG. 2F. Once the images are uploaded, the photo-finishing service arranges to have prints made of the selected images and to have the prints mailed to the user and address specified in the contact information window 200 shown in FIG. 2A. If the user desires to have prints of the same (or different) images sent to another person (e.g., a family member or friend), the user typically must repeat the entire order generating process represented by FIGS. 2A-2F. Generally, repeating the ordering process to send prints to another person involves entering a considerable amount of redundant information and incurring separate charges, including multiple minimum order charges, on the user""s credit card (or other financial instrument) as well as potentially requiring the image to be uploaded multiple times.
The present inventors recognized that it would be advantageous to provide users with a intuitive and robust environment in which a user can review a thumbnail associated with the image and upload image files so that they can be printed and/or distributed to multiple recipients while minimizing the user""s time, effort, and expense in uploading the image files.
In one aspect, a computer-implemented method uploads image data to a remote computer such as a server by: defining an area in a user interface adapted to receive an image; generating a thumbnail associated with the image when the image is associated with the area; and, uploading the image to the server.
Implementations of the method includes generating the thumbnail by decompressing the image file. Further, the thumbnail can be saved in a local file. The thumbnail can be loaded into a browser for viewing. The thus generated thumbnail can be uploaded to the server. The image file can then be sent to the server. The image file can be partitioned into one or more fragments. Metadata associated with each fragment can be generated to be sent to the server. The fragment can be individually uploaded to the server. If the upload generates one or more errors, the user can be informed about the error with one or more error messages and instructions.
In a second aspect, a computer-implemented method uploads image data from a local computer to a remote computer by: receiving input from a user identifying an image file; generating a thumbnail image from the image file; and displaying the generated thumbnail image as a component of a web page received from the remote computer.
In yet another aspect, a computer-implemented method uploads image data from a local computer to a remote computer by: receiving input from a user identifying an image file; generating a thumbnail image from the image file; and uploading the generated thumbnail image to the remote computer before uploading the image file to the remote computer.
In yet another aspect, a computer-implemented method facilitates orders for prints of images by: displaying a thumbnail image representing a complete image; receiving input from a user ordering a print of the complete image; and delaying the print order if an image file corresponding to the complete image has not yet been uploaded.
Implementation of this aspect includes fulfilling the print order when the image fie corresponding to the complete image has been uploaded.
Advantages may include one or more of the following. The systems and techniques described here provide intuitive visual abstractions and mechanisms for efficiently and quickly designating objects, such as digital images, to be uploaded to a server. The systems and techniques also allow these images to be shared and delivered to predetermined groups of one or more recipients. By representing distribution aliases as graphic symbols (e.g. icons) with which objects can be associated (e.g., by dragging digital objects and dropping them on a graphic symbol), the act of uploading image files is simplified dramatically. At the same time, the number of discrete steps or operations required of a user to upload image files is minimized. Moreover, by enabling physical representations of the digital objects to be distributed automatically to the designated recipients, either instead of or in addition to the corresponding digital objects, objects such as physical image prints can be distributed to multiple recipients with-a minimum of time, expense and effort.
One or more of the following additional advantages may also be provided. The systems and techniques described herein provide the user with robust and detailed information relating to the uploading process. The system and techniques gracefully handle upload failures in that automatic recovery, if possible, is provides. If automatic recovery is not possible, the user is informed that an upload had failed so that the user can restart the upload process. The process can handle both system related errors as well as user related errors. For instance, the user may start the upload and forget that the upload process is running due to the time required to upload multi-megabyte image files and later either turn off the computer or quit the viewer. Rather than assuming that the upload process was successful, the feedback provided by the process informs the user that he or she needs to take corrective actions.
The details of one or more embodiments are set forth in the accompanying drawings and the description below. Other features, objects, and advantages of the invention will become apparent from the description and drawings, and from the claims.